package com.ruoyi.quality.domain.vo;

import java.util.Date;

import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.annotation.Translation;
import com.ruoyi.common.constant.TransConstant;
import com.ruoyi.common.convert.ExcelDictConvert;
import com.ruoyi.common.excel.DateConverter;
import lombok.Data;
import java.util.Date;



/**
 * 持续改善视图对象 quality_continuous_improvement
 *
 * @author ruoyi
 * @date 2023-08-28
 */
@Data
@ExcelIgnoreUnannotated
public class QualityContinuousImprovementVo {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ExcelProperty(value = "id")
    private Long id;

    /**
     * 流程实例id
     */
    @ExcelProperty(value = "流程实例id")
    private String ProcessInstanceId;

    /**
     * 部门
     */
    @ExcelProperty(value = "部门", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "dept_abbreviation")
    private String department;

    /**
     * 项目名称
     */
    @ExcelProperty(value = "项目名称")
    private String title;

    /**
     * 改善类型
     */
    @ExcelProperty(value = "改善类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "cont_improve_type")
    private String improvement;

    /**
     * 审核类型
     */
    @ExcelProperty(value = "审核类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "cont_improve_audit")
    private String audit;

    /**
     * 问题描述
     */
    @ExcelProperty(value = "问题描述")
    private String description;

    /**
     * 改善建议
     */
    @ExcelProperty(value = "改善建议")
    private String suggestions;

    /**
     * 实施效果
     */
    @ExcelProperty(value = "实施效果")
    private String effect;

    /**
     * 项目状态
     */
    @ExcelProperty(value = "项目状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "cont_improve_status")
    private String status;

    /**
     * 参与人
     */
    @ExcelProperty(value = "参与人")
    private String person;

    /**
     * 附件
     */
    @ExcelProperty(value = "附件")
    private String attach;

    /**
     * 等级
     */
    @ExcelProperty(value = "等级", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "cont_improve_level")
    private String level;

    /**
     * 总分
     */
    @ExcelProperty(value = "总分")
    private Integer totalScore;

    /**
     * 评审次数
     */
    @ExcelProperty(value = "评审次数")
    private Integer review;

    /**
     * 均分
     */
    @ExcelProperty(value = "均分")
    private Integer sharing;

    /**
     * 解决部门
     */
    @ExcelProperty(value = "解决部门")
    private String allDepartment;

    /**
     * 解决附件
     */
    @ExcelProperty(value = "解决附件")
    private String resolveAttachments;

    /**
     * 日期
     */
    @ExcelProperty(value = "日期",converter = DateConverter.class)
    @DateTimeFormat("YYYY-MM-DD")
    private Date date;

    /**
     * 进度
     */
    @ExcelProperty(value = "进度")
    private String schedule;

    /**
     * 用户id
     */
    @ExcelProperty(value = "用户id")
    private Long userId;

    @Translation(type = TransConstant.USER_ID_TO_NICK,mapper = "userId")
    private String userName;
    /**
     * 专管员id
     */
    @ExcelProperty(value = "专管员id")
    @Translation(type = TransConstant.USER_ID_TO_NAME)
    private Long groupId;

    @Translation(type = TransConstant.USER_ID_TO_NAME,mapper = "groupId")
    private String groupName;

    /**
     * 经理id
     */
    @ExcelProperty(value = "经理id")
    @Translation(type = TransConstant.USER_ID_TO_NAME)
    private Long managerId;

    @Translation(type = TransConstant.USER_ID_TO_NAME,mapper = "managerId")
    private String managerName;

    /**
     * 分管领导id
     */
    @ExcelProperty(value = "分管领导id")
    @Translation(type = TransConstant.USER_ID_TO_NAME)
    private Long leaderId;

    @Translation(type = TransConstant.USER_ID_TO_NAME,mapper = "leaderId")
    private String leaderName;
}
